              
var apiHost = require('./common/api_host.js'),
  dialog = require('./common/dialog.js'),
  httpJson = require('./utils/http_json.js');

App({
  EC:function(e,text){
    return e.currentTarget.dataset[text]

  },
  E:function(e,text){
    return e.currentTarget.dataset[text]

  },
  ET:function(e,text){
    return e.target.dataset[text]

  },
  // 输入框
  Ei:function(e){
    
    return e.detail.value

  },
  getuser:function(_this){
    var  url=`${apiHost.config.portalApiHost}/portal/user/update`;
   
    httpJson.post(url,{},res=>{
      if(res.data.errorCode==0){
        
        _this.setData({
          userMsg:res.data.body
        })
      }
    })
  },
  share:function(){
    var  url=`${apiHost.config.portalApiHost}/portal/user/userShare`;
   
    httpJson.post(url,{},res=>{
      if(res.data.body.upGrade){
        wx.setStorageSync("upGrade",true)
      }
    })
  },
  // getuser2:function(_this){
  
    // var  url=`${apiHost.config.portalApiHost}/portal/user/update`;
    // var promise = new Promise(function(resolve, reject) {
    //   httpJson.post(url,{},res=>{
    //     if (res.data.errorCode==0){
    //       resolve(res.data.body);
    //     } 
    //   })
    // });
   
    //  promise.then(function(value) {
    //   console.log(value)
    
    //    msg=value;
    //   return value;
     
    // })
    
  
  
   
  // },
  verifyLogin: function (cb) { //判断是否登录
    let page = this,
    path = apiHost.config.portalApiHost + 'base/login/wx/verify_login';
    httpJson.post(path, {}, function (data) {
      let res = data.data;
      console.log(res)
      if (res.errorCode == 2) {
        page.getLogin(cb);
        return;
      }
    
      //存储用户权限信息
      if (res.body.authMsg != null) {
        console.log("刷新用户权限信息", res.body.authMsg);
        wx.setStorageSync('authMsg', res.body.authMsg);
        if (res.body.authMsg.authCode === '0') {
          wx.setStorageSync('applyLessonId', res.body.authMsg.data.lessonInfoId); //缓存报名课程信息
          wx.setStorageSync('lessonStartTime', res.body.authMsg.data.lessonStartTime); //缓存报名课程信息
        }
      }
      if (cb) {
        cb(res)
      }
    })
  },

  //获取用户权限
  getAuth: function (data) {
    let authMsg = wx.getStorageSync("authMsg");
    if (!authMsg) {
      this.getLogin();
      let authMsg = wx.getStorageSync("authMsg");
    }
    return authMsg;
  },

  //获取用户权限
  refreshAuth: function (data) {
    this.getLogin();
  },

  //校验用户权限
  checkAuth: function (_this) {
    let authMsg = wx.getStorageSync("authMsg");
    // console.log("authMsg", authMsg);
    if (!authMsg) {
      this.verifyLogin();
      authMsg = wx.getStorageSync("authMsg");
    }
    if (authMsg.authCode != 0) {
      _this.setData({
        authCode: authMsg.authCode,
        authMsg: authMsg.msg,
        hidden: false,
      });
      //未报名
      
      //未缴费
     
      //未审核
     
      //未开课
      // else if (authMsg.authCode == 103 && !this.authMsgData.first_check_phone) {
      //   if (this.authMsgData.first_check_phone) {
      //     _this.setData({
      //       authMsg: this.authMsgData.wait_tip_1 + authMsg + '，敬请期待！',
      //     });
      //   } else {
      //     _this.setData({
      //       authMsg: this.authMsgData.wait_tip_1  + '6月21日，敬请期待！'+this.authMsgData.wait_tip_2,
      //     });
      //   }
      // }
      return false;
    }
    //判断后台权限是否开启权限
    let permissionList = authMsg.data.permissionList;
    let pageFlag = _this.data.pageFlag;
    let permission = pageFlag ? false: true;
    for (var i=0; i<permissionList.length; i++){
      if (permissionList[i].code == pageFlag){
        permission = true;
        break;
      }
    }
    if (!permission) {
      _this.setData({
        authMsg: '该功能暂时未开放',
        authCode: authMsg.authCode,
        hidden: false,
      });
      return false;
    }
    return true;
  },

  //保存formId
  saveFormId: function (formId) {

    let path = apiHost.config.portalApiHost + 'portal/formId/add';
    httpJson.post(path, { formId: formId }, function (data) {

    });

  },

  //登录
  getLogin: function (cb) {
    console.log('getLogin')
    let page = this,
      path = apiHost.config.portalApiHost + 'base/login/wx/login';
    wx.login({
      success: function (res) {
        let code = res.code;
        wx.getUserInfo({ //获取用户信息
          success: function (res) {
            console.log('res.....',res);
            wx.setStorageSync('userInfo', res.userInfo); //缓存用户信息
            let rawData = JSON.parse(res.rawData);
            if (rawData.province.length > 10) { //判断省份长度是否超过10个,是的清空传值
              rawData.province = ''
            }
            if (rawData.city.length > 10) { //判断城市长度是否超过10个,是的清空传值
              rawData.city = ''
            }
            httpJson.get(path, { //请求微信登录
              code: code,
              rawData: JSON.stringify(rawData)
            }, function (data) {
              let res = data.data;
              console.log(res)
              if (res.errorCode != 0) {
                dialog.showToast(res.msg);
                console.log('sessionId')
                return;
              }
              
              //存储用户权限信息
              console.log("请求微信登录获得权限信息", res.body.authMsg);
              // wx.setStorageSync('authMsg', res.body.authMsg);
              
              let sessionId = wx.getStorageSync('sessionId')
              if (sessionId == "" || sessionId == null || sessionId != res.body) {
                wx.setStorageSync('sessionId', res.body.JSESSIONID) //如果本地没有就说明第一次请求 把返回的session id 存入本地  
              }
              wx.setStorageSync('openid', res.body.openid);
              // wx.setStorageSync('guide', true);

              if (cb) {
                console.log(cb)
                console.log(res)
                cb(res)
              }
            })
          },
          fail: function (res) {
            // 没有授权导致getUserInfo失败，调到授权页面
            let sessionId = wx.getStorageSync('sessionId')
            console.log('fail')
            if (sessionId == "" || sessionId == null) {
              wx.navigateTo({
                url: '/pages/authorize/authorize'
              })
            } else {
              wx.showToast({
                title: '微信版本过低，请升级微信版本',
                icon: 'none',
                duration: 2000
              })
            }
          }
        })
      },
      fail: function (res) {

      }
    });
  },
  login: function (cb) { //模拟登录
    let page = this,
      path = apiHost.config.portalApiHost + 'base/login/portal/login';
    httpJson.post(path, {
      loginName: 'portal',
      password: 'E10ADC3949BA59ABBE56E057F20F883E'
    }, function (data) {
      let res = data.data;
      if (res.errorCode != 0) {
        dialog.showToast(res.msg);
        return;
      }
      let sessionId = wx.getStorageSync('sessionId')
      if (sessionId == "" || sessionId == null || sessionId != res.body) {
        wx.setStorageSync('sessionId', res.body) //如果本地没有就说明第一次请求 把返回的session id 存入本地  
      }
      if (cb) {
        cb(res)
      }
    })
  },
   verifyCanReg(){
    
    var url=apiHost.config.portalApiHost +'/base/baseSetting/detail'
    httpJson.get(url,{},res=>{
      wx.setStorageSync('canRegister',res.data.body.canRegister)
      // canReg=res.data.body.canRegister;
      // return res.data.body.canRegister;
      // console.log('app1:',canReg)

    })
   
   
  },
  onLaunch: function (options) {

  },
  onShow: function (options) {

  },
  onHide: function () {

  },
  onUnload: function () {

  },

  onError: function(e) {
    console.log(e);
  },

  /**
   * 全局页面分享参数
   */
  shareData: {
    img: 'http://future-school.oss-cn-shenzhen.aliyuncs.com/vl/img/31c00c7234f44a8cbfaac7fe8a9a2540.jpg',
    title: '这可能是中国大陆最接近教育本质的成长行动',
    link: 'pages/thirties/index/index'
  },

  /**
   * 全局权限提示参数
   */
  authMsgData: {
    first_check_phone: false, //是否第一次绑定手机号
    apply_tip: '欢迎来到未来大学！此内容仅向未来大学正式学员开放，马上加入我们，收获更多成长和有意思的经历吧！',
    audit_tip_1: '您的报名正在审核中，我们将于24小时内短信/微信通知您审核结果，请耐心等待并留意消息。',
    audit_tip_2: '此内容仅向正式学员（通过审核并缴费）开放，您目前处于审核阶段，请耐心等待下一步指引，成为正式学员。',
    pay_tip_1: '您的入学申请已通过审核，请按指引尽快完成缴费。',
    pay_tip_2: '此内容仅向未来大学正式学员开放（已通过审核并已缴费），后台检测到您尚未缴纳学费，请按指引尽快完成缴费。',
    wait_tip_1: '恭喜您成为未来大学学员，本期正式开学时间为 ',
    wait_tip_2: '开学当天我们将通过报名时的手机号 or 微信公众号（FutureU社区）通知您，请您耐心等待。'
  },

  //秒数转换为 分：秒 格式
  secondToTime: function (seconds) {
    let m = parseInt(seconds / 60);
    let s = parseInt(seconds % 60);
    let mStr = m
    let sStr = s
    if (m < 10) {
      mStr = '0' + m
    }
    if (s < 10) {
      sStr = '0' + s
    }
    return mStr + ':' + sStr
  }


})